#pragma once
#include <mutex> //互斥量
#include <iostream>
#include <iomanip>
#include <chrono>
using namespace std;

// 群ID生成类  饿汉单例 线程安全
class GroupIDGenerator
{
private:
    GroupIDGenerator();

public:
    ~GroupIDGenerator();
    // 获取实例
    static GroupIDGenerator *getInstance()
    {
        return globalInstance;
    }
    // 生成一个群聊ID
    int createGroupID();

private:
    static GroupIDGenerator *globalInstance; // 全局唯一实例
    int maxgId;                              // 当前生成的最大群聊ID
    mutex m_mutex;                           // 互斥量
};